package ws;

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;

import com.cachopoid.vo.CachopoVO;
import com.cachopoid.vo.ComentarioVO;
import com.cachopoid.vo.EstablecimientoVO;
import com.cachopoid.vo.EventoVO;
import com.cachopoid.vo.FotoVO;

public class JsonParsers {

    public static ArrayList<CachopoVO> parseJSONCachopos(JSONArray cachoposArray) throws JSONException{
		ArrayList<CachopoVO> cachopos = new ArrayList<CachopoVO> ();
	  for(int i = 0; i < cachoposArray.length(); i++){
		  CachopoVO cachopo = new CachopoVO();
		  
		  cachopo.setIdCachopo(cachoposArray.getJSONObject(i).getInt("IDCACHOPO"));
		  cachopo.setNombre(cachoposArray.getJSONObject(i).getString("NOMBRE"));
		  cachopo.setDescripcion(cachoposArray.getJSONObject(i).getString("DESCRIPCION"));
		  cachopo.setIdEstablecimiento(cachoposArray.getJSONObject(i).getInt("IDESTABLECIMIENTO"));
		  cachopo.setTamanio(cachoposArray.getJSONObject(i).getDouble("TAMANIO"));
		  cachopo.setRebozado(cachoposArray.getJSONObject(i).getDouble("REBOZADO"));
		  cachopo.setRelleno(cachoposArray.getJSONObject(i).getDouble("RELLENO"));
		  cachopo.setPrecio(cachoposArray.getJSONObject(i).getDouble("PRECIO"));
		  cachopo.setSabor(cachoposArray.getJSONObject(i).getDouble("SABOR"));
		  cachopo.setMediaDeVotos(cachoposArray.getJSONObject(i).getDouble("MEDIA_VOTOS"));
		  cachopo.setTotal_votos(cachoposArray.getJSONObject(i).getDouble("TOTAL_VOTOS"));
		  cachopos.add(cachopo);  
	  }
	  return cachopos;
	}
    
    public static ArrayList<EstablecimientoVO> parseJSONEstablecimientos(JSONArray establecimientosArray) throws JSONException{
 		ArrayList<EstablecimientoVO> establecimientos = new ArrayList<EstablecimientoVO> ();
 	   for(int i = 0; i < establecimientosArray.length(); i++){
 		 EstablecimientoVO establecimiento = new EstablecimientoVO();
 		  
 		establecimiento.setIdEstablecimiento(establecimientosArray.getJSONObject(i).getInt("IDESTABLECIMIENTO"));
 		establecimiento.setNombre(establecimientosArray.getJSONObject(i).getString("NOMBRE_ESTABLECIMIENTO"));
 		establecimiento.setDireccion(establecimientosArray.getJSONObject(i).getString("DIRECCION"));
 		establecimiento.setCiudad(establecimientosArray.getJSONObject(i).getString("CIUDAD"));
 		establecimiento.setLatitud(establecimientosArray.getJSONObject(i).getString("LATITUD"));
 		establecimiento.setLongitud(establecimientosArray.getJSONObject(i).getString("LONGITUD"));
 		establecimiento.setTelefono(establecimientosArray.getJSONObject(i).getString("TELEFONO"));
 		establecimiento.setImagenEstab(establecimientosArray.getJSONObject(i).getString("IMAGENESTABL"));
 		establecimiento.setFecha_actualizacion(establecimientosArray.getJSONObject(i).getString("FECHA_ACTUALIZACION_EST"));
 		

 		 establecimientos.add(establecimiento);  
 	  }
 	  return establecimientos;
 	}
    
    public static ArrayList<FotoVO> parseJSONFotos(JSONArray fotosCachoposArray) throws JSONException{
		ArrayList<FotoVO> fotosCachopos = new ArrayList<FotoVO> ();
	  for(int i = 0; i < fotosCachoposArray.length(); i++){
		  FotoVO foto = new FotoVO();
		  
		  foto.setIdFoto(fotosCachoposArray.getJSONObject(i).getInt("IDFOTO"));
		  foto.setIdCachopo(fotosCachoposArray.getJSONObject(i).getInt("IDCACHOPO"));
		  foto.setIdEstablecimiento(fotosCachoposArray.getJSONObject(i).getInt("IDESTABLECIMIENTO"));
		  foto.setFoto(fotosCachoposArray.getJSONObject(i).getString("FOTO"));
		  foto.setFecha_actualizacion(fotosCachoposArray.getJSONObject(i).getString("FECHA_ACTUALIZACION"));
		
		  fotosCachopos.add(foto);  
	  }
	  return fotosCachopos;
	}
    
    public static ArrayList<ComentarioVO> parseJSONComentarios(JSONArray comentariosArray) throws JSONException{
		ArrayList<ComentarioVO> comentarios = new ArrayList<ComentarioVO> ();
	  for(int i = 0; i < comentariosArray.length(); i++){
		  ComentarioVO comentario = new ComentarioVO();
		  
		  comentario.setIdComentario(comentariosArray.getJSONObject(i).getInt("IDCOMENTARIO"));
		  comentario.setIdCachopo(comentariosArray.getJSONObject(i).getInt("IDCACHOPO"));
		  comentario.setCreador_comentario(comentariosArray.getJSONObject(i).getString("CREADOR_COMENTARIO"));
		  comentario.setComentario(comentariosArray.getJSONObject(i).getString("COMENTARIO"));
		
		  comentarios.add(comentario);  
	  }
	  return comentarios;
	}

	public static ArrayList<EventoVO> parseJSONEventos(JSONArray eventosArray) throws JSONException{
		
		ArrayList<EventoVO> eventos  = new ArrayList<EventoVO> ();
		  for(int i = 0; i < eventosArray.length(); i++){
			  EventoVO evento = new EventoVO();
			  
			  evento.setIdEvento(eventosArray.getJSONObject(i).getInt("IDEVENTO"));
			  evento.setIdCachopo(eventosArray.getJSONObject(i).getInt("IDCACHOPO"));
			  evento.setTipoEvento(eventosArray.getJSONObject(i).getString("TIPO_EVENTO"));
			  evento.setDescripcion(eventosArray.getJSONObject(i).getString("DESCRIPCION"));
			  evento.setFecha_actualizacion(eventosArray.getJSONObject(i).getString("FECHA_ACTUALIZACION"));
			
			  eventos.add(evento);  
		  }
		  return eventos;
	}
    
}
